﻿using ActiveDirectoryService.Library.Constants;
using LinqToLdap.Mapping;

namespace ActiveDirectoryService.Library.Entities
{
    [DirectorySchema("CN=Users,CN=Employees,DC=Northwind,DC=local", ObjectClass = "User")]    
    public class ADUser : DirectoryObjectBase
    {
        [DirectoryAttribute(ActiveDirectoryFields.Name, ReadOnly = true)]
        public string Name { get; set; }
        
        [DirectoryAttribute(ActiveDirectoryFields.FirstName, ReadOnly = true)]
        public string FirstName { get; set; }
        
        [DirectoryAttribute(ActiveDirectoryFields.LastName, ReadOnly = true)]
        public string LastName { get; set; }

        [DirectoryAttribute(ActiveDirectoryFields.Email, ReadOnly = true)]
        public string Email { get; set; }

        [DirectoryAttribute(ActiveDirectoryFields.Division, ReadOnly = true)]
        public string Division { get; set; }

        [DirectoryAttribute(ActiveDirectoryFields.Office, ReadOnly = true)]
        public string Office { get; set; }

        [DirectoryAttribute(ActiveDirectoryFields.Description, ReadOnly = true)]
        public string Function { get; set; }

        [DirectoryAttribute(ActiveDirectoryFields.AccountName, ReadOnly = true)]
        public string AccountName { get; set; }

        [DirectoryAttribute(ActiveDirectoryFields.SipAddress, ReadOnly = true)]
        public string SipAddress { get; set; }

        [DirectoryAttribute(ActiveDirectoryFields.HideMobilePhone, ReadOnly = true)]
        public bool HideMobilePhone { get; set; }
    }
}